package com.haixiaoke.saas.order.mapper;

import com.haixiaoke.saas.order.domain.CheckOutOrder;

import java.util.List;

/**
 * 退房订单Mapper接口
 * 
 * @author panda
 * @date 2024-04-19
 */
public interface CheckOutOrderMapper {
    /**
     * 查询退房订单
     * 
     * @param checkOutOrderId 退房订单主键
     * @return 退房订单
     */
    CheckOutOrder selectCheckOutOrderByCheckOutOrderId(String checkOutOrderId);

    /**
     * 查询退房订单列表
     * 
     * @param checkOutOrder 退房订单
     * @return 退房订单集合
     */
    List<CheckOutOrder> selectCheckOutOrderList(CheckOutOrder checkOutOrder);

    /**
     * 新增退房订单
     * 
     * @param checkOutOrder 退房订单
     * @return 结果
     */
    int insertCheckOutOrder(CheckOutOrder checkOutOrder);

    /**
     * 修改退房订单
     * 
     * @param checkOutOrder 退房订单
     * @return 结果
     */
    int updateCheckOutOrder(CheckOutOrder checkOutOrder);

    /**
     * 删除退房订单
     * 
     * @param checkOutOrderId 退房订单主键
     * @return 结果
     */
    int deleteCheckOutOrderByCheckOutOrderId(String checkOutOrderId);

    /**
     * 批量删除退房订单
     * 
     * @param checkOutOrderIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteCheckOutOrderByCheckOutOrderIds(String[] checkOutOrderIds);

    /**
     * 根据订单id查询退房订单信息
     * @param orderId
     * @return
     */
    CheckOutOrder selectCheckOutOrderByOrderId(String orderId);

    int countOrderState(Long userId);

    /**
     * 根据订单id集合查询退房订单信息
     * @param orderIds
     * @return
     */
    List<CheckOutOrder> selectCheckOutOrderByOrderIds(List<String> orderIds);
}
